import { http } from "@/utils/http";

// 折扣卡数据类型定义（根据API文档4.2项目列表）
export interface Cards {
  c_id: string; // 卡ID
  c_name: string; // 卡名称
  c_price: string; // 面值
  c_discount: string; // 折扣 0.65
  c_sort: string; // 前端排序
  c_status: string; // 状态 1上架  0下架
  c_nums: string; // 售出数量
  c_pic: string; // 图片链接
  c_ctime: string; // 创建时间
  c_uptime: string; // 更新时间
}

// 添加折扣卡参数类型（根据API文档4.1添加项目）
export interface AddCardsParams {
  c_name: string; // 卡名称
  c_price: string; // 面值
  c_discount: string; // 折扣 0.65
  c_sort: string; // 前端排序
  c_status: string; // 状态 1上架  0下架
  c_picbase64?: string; // 图片base64（可选）
}

// 编辑折扣卡参数类型（根据API文档4.3编辑项目）
export interface EditCardsParams {
  c_id: string; // 卡ID
  c_name: string; // 卡名称
  c_price: string; // 面值
  c_discount: string; // 折扣 0.65
  c_sort: string; // 前端排序
  c_status: string; // 状态 1上架  0下架
  c_nums: string; // 售出数量
  c_picbase64?: string; // 图片base64（可选，编辑时如果不更换图片可以不传）
}

// 折扣卡详情参数类型（根据API文档4.4编辑项目）
export interface DetailCardsParams {
  c_id: string; // 卡ID
  c_name: string; // 卡名称
  c_price: string; // 面值
  c_discount: string; // 折扣 0.65
  c_sort: string; // 前端排序
  c_status: string; // 状态 1上架  0下架
  c_nums: string; // 售出数量
  c_pic: string; // 图片链接
  c_ctime: string; // 创建时间
  c_uptime: string; // 更新时间
}

// Cards列表查询参数类型（根据API文档4.2项目列表）
export interface CardsListParams {
  name?: string; // Cards主题
  status?: string; // 项目状态：1 上架，0 下架
}

// API返回结果类型
export interface ApiResult<T = any> {
  code: number; // 状态码：1 成功
  msg: string; // 描述
  data: T; // 数据
}

/** 添加折扣卡（根据API文档4.1添加项目） */
export const addCards = (params: AddCardsParams) => {
  return http.request<ApiResult>("post", "/admin/cards.php?act=addcard", {
    data: params
  });
};

/** 获取折扣卡列表（根据API文档4.2项目列表） */
export const getCardsList = (params: CardsListParams = {}) => {
  return http.request<ApiResult<Cards[]>>("post", "/admin/cards.php?act=list", {
    data: params
  });
};

/** 编辑折扣卡（根据API文档4.3编辑项目） */
export const editCards = (params: EditCardsParams) => {
  return http.request<ApiResult>("post", "/admin/cards.php?act=editcard", {
    data: params
  });
};
/** 折扣卡详情（根据API文档4.3编辑项目） */
export const detailCards = (params: DetailCardsParams) => {
  return http.request<ApiResult>("post", "/admin/cards.php?act=detail", {
    data: params
  });
};
/** 切换折扣卡状态（根据API文档4.4切换状态） */
export const switchCardsStatus = (id: number) => {
  return http.request<ApiResult>("post", "/admin/cards.php?act=switch", {
    data: { id }
  });
};
